package ch.epfl.lara.matcheck.verify.transform;

trait AbstractConversion2Formula {

  protected var generated_names: List[String] = _
  
  
  protected def append_name(name: String): Unit = generated_names = List(name) union generated_names
  protected def append_names(names: List[String]): Unit = generated_names = names union generated_names
  def generated_fresh_names: List[String] = generated_names

  protected def freshName(name: String): String  = {
    import ch.epfl.lara.matcheck.util.FreshName
    val fresh = FreshName.fresh(name)
    append_name(fresh)
    fresh
  }
}
